package com.ybbase.framework.service.system;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ybbase.framework.base.model.TreeModel;
import com.ybbase.framework.model.po.system.Dict;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 数字字典表 服务类
 * </p>
 *
 * @author cg
 * @since 2019-11-25
 */
public interface DictService extends IService<Dict> {
    /**
     * 排序数据字典
     * @param list 数据字典列表
     * @return List<TreeModel>
     * @author cg
     * @date 2019-12-01 21:46
     * @since cloud2.0
     */
    List<TreeModel> findSortDict(List<Dict> list);

    /**
     * 根据key和type查询Dict
     * @param key 关键字
     * @param
     * @return
     * @author cg
     * @date 2019-12-13 10:24
     * @since cloud2.0
    */
    Dict getDictByKeyType(String key,String type);

    /**
     * 获取二级树
     *
     * @return
     */
    List<Dict> getTree();

    /**
     * 根据parent_id查找分页数据
     *
     * @return
     */
    IPage<Dict> findByParentId(IPage<Dict> page, QueryWrapper<Dict> queryWrapper, Integer parentId);

    /**
     * 保存数据字典
     */
    public void saveDict(Dict dict);

}
